The invention relates to managing and providing an interface to related data objects.
Data in a storage device is typically organized according to a file system. A file system typically organizes data (e.g., files) in a hierarchy of directories that can each contain a group of files and/or other directories. The hierarchy of directories can be navigated using a path that implicitly or explicitly identifies a starting location and identifies one or more files and/or directories relative to the starting location.
A file system hierarchy can be represented as a tree of nodes, where a directory is a node with a branch for each item in the directory and a file is a leaf node. A branch between a node and its child represents a “contained in” relationship between the nodes. A path can include expressions including wildcards that filter a set of selected nodes.
Other data systems can be used to navigate a tree structured hierarchy of data objects. For example, Xpath can be used to navigate among portions of an XML document. XPath models an XML document as a tree of nodes. There are different types of nodes, including element nodes, attribute nodes and text nodes, that are related in a hierarchical structure.
One type of expression that is used for navigation in Xpath is a location path. A location path selects a set of nodes relative to a context node. The result of evaluating a location path is a set of nodes selected by the location path. Location paths can also include expressions that are used to filter a selected set of nodes.